An enterprise will have a network of devices that is used to perform various functions of the enterprise. This network can include thousands or more devices organized into one or more data centers. It can be, however, difficult to determine whether if one, some, or all of these devices are operating properly. For example, one of the network elements in the network may be dropping too many packets, have a path/forwarding information misconfiguration, service unreachability, or have other types of network misbehaviors. One way to detect issues with one or more devices is for an administrator to log into each of the devices and use a command line interface (CLI) to retrieve the counter data of that device or review the configuration. However, using a CLI is tedious for administrator to use on a network with thousands or more devices.
Another way to manage a network is to use a network management station (NMS) that is used to manage the individual devices in the network. Typically, an NMS manages each of the devices in the network using the Simple Network Management Protocol (SNMP). An SNMP-based NMS will poll each of the devices for counter values to determine if each of these devices is operating properly. In addition, the NMS can set traps to alert the administrator if a counter value is outside a defined range of values. A problem with this approach is that a trap cannot be set for possible combinations of counters for one device or across multiple devices. In addition, NMS traps work on counter data and do not detect other types of network misbehaving, such as routing misconfigurations, path unreachability, and/or service unreachability. Furthermore, the NMS needs to poll each of the devices for the counter information.